package com.tencent.face.param;

import com.tencentcloudapi.faceid.v20180301.models.LivenessCompareRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @description: 活体人脸比对参数类
 * @date: 2022/5/19
 * @author: shendong
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LivenessCompareParam {

    /**
     * 活体检测类型，取值：LIP/ACTION/SILENT。
     * LIP为数字模式，ACTION为动作模式，SILENT为静默模式，三种模式选择一种传入
     */
    private String livenessType;

    /**
     * 用于人脸比对的照片的Base64值；
     * Base64编码后的图片数据大小不超过3M，仅支持jpg、png格式。
     * 请使用标准的Base64编码方式(带=补位)，编码规范参考RFC4648。
     */
    private String imageBase64;


    /**
     * 数字模式传参：传数字验证码，验证码需先调用获取数字验证码接口得到；
     * 动作模式传参：传动作顺序，动作顺序需先调用获取动作顺序接口得到；
     * 静默模式传参：空。
     */
    private String validateData;

    /**
     * 用于活体检测的视频，视频的Base64值；
     * Base64编码后的大小不超过8M，支持mp4、avi、flv格式。
     * 请使用标准的Base64编码方式(带=补位)，编码规范参考RFC4648。
     */
    private String videoBase64;

//    /**
//     * 用于活体检测的视频Url 地址。视频下载后经Base64编码后不超过 8M，视频下载耗时不超过4S，支持mp4、avi、flv格式。
//     * 视频的 VideoUrl、VideoBase64 必须提供一个，如果都提供，只使用 VideoBase64。
//     * 建议视频存储于腾讯云的 Url 可保障更高的下载速度和稳定性，建议视频存储于腾讯云。非腾讯云存储的 Url 速度和稳定性可能受一定影响。
//     */
//    private String videoUrl;

    public LivenessCompareRequest initRequest(){
        LivenessCompareRequest request =new LivenessCompareRequest();
        request.setLivenessType(livenessType);
        request.setImageBase64(imageBase64);
        request.setValidateData(validateData);
        request.setVideoBase64(videoBase64);
        return request;
    }
}
